﻿using Caliburn.Micro;
using SD.Infrastructure.WPF.Caliburn.Aspects;
using System;
using SlamDunk.ValueObjects.Enums;

namespace SlamDunk.MES.Presentation.Models.NotifyModels
{
    /// <summary>
    /// 生产计划统计模型
    /// </summary>
    public class ProductionPlanSummaryNm : PropertyChangedBase
    {
        #region 产品Id —— Guid MaterialId
        /// <summary>
        /// 产品Id
        /// </summary>
        [DependencyProperty]
        public Guid MaterialId { get; set; }
        #endregion

        #region 产品名称 —— string MaterialName
        /// <summary>
        /// 产品名称
        /// </summary>
        [DependencyProperty]
        public string MaterialName { get; set; }
        #endregion

        #region 预期毛产量 —— decimal ExpGrossQuantity
        /// <summary>
        /// 预期毛产量
        /// </summary>
        [DependencyProperty]
        public decimal ExpGrossQuantity { get; set; }
        #endregion

        #region 预期净产量 —— decimal ExpNetQuantity
        /// <summary>
        /// 预期净产量
        /// </summary>
        [DependencyProperty]
        public decimal ExpNetQuantity { get; set; }
        #endregion

        #region 生产计划状态 —— ProductionPlanStatus
        /// <summary>
        /// 生产计划状态
        /// </summary>
        [DependencyProperty]
        public ProductionPlanStatus ProductionPlanStatus { get; set; }
        #endregion

        #region 作业计划状态 —— ExecutionPlanStatus
        /// <summary>
        /// 作业计划状态
        /// </summary>
        [DependencyProperty]
        public ExecutionPlanStatus ExecutionPlanStatus { get; set; }
        #endregion

        #region 工厂模型 — string FacilityName
        /// <summary>
        /// 工厂模型
        /// </summary>
        [DependencyProperty]
        public string FacilityName { get; set; }
        #endregion

        #region 工厂模型Id — Guid FacilityId
        /// <summary>
        /// 工厂模型Id
        /// </summary>
        [DependencyProperty]
        public Guid? FacilityId { get; set; }
        #endregion

        #region 开始时间 — DateTime PlanStartTime
        /// <summary>
        /// 开始时间
        /// </summary>
        [DependencyProperty]
        public DateTime? PlanStartTime { get; set; }
        #endregion

        #region 结束时间 — DateTime PlanEndTime
        /// <summary>
        /// 结束时间
        /// </summary>
        [DependencyProperty]
        public DateTime? PlanEndTime { get; set; }
        #endregion
    }
}
